<?xml version='1.0'?>

<gl_extension name="GL_VERSION_2_0">
	<tokens>
		<token name="GL_BLEND_EQUATION_RGB" value="0x8009"/>
		<token name="GL_VERTEX_ATTRIB_ARRAY_ENABLED" value="0x8622"/>
		<token name="GL_VERTEX_ATTRIB_ARRAY_SIZE" value="0x8623"/>
		<token name="GL_VERTEX_ATTRIB_ARRAY_STRIDE" value="0x8624"/>
		<token name="GL_VERTEX_ATTRIB_ARRAY_TYPE" value="0x8625"/>
		<token name="GL_CURRENT_VERTEX_ATTRIB" value="0x8626"/>
		<token name="GL_VERTEX_PROGRAM_POINT_SIZE" value="0x8642"/>
		<token name="GL_VERTEX_ATTRIB_ARRAY_POINTER" value="0x8645"/>
		<token name="GL_STENCIL_BACK_FUNC" value="0x8800"/>
		<token name="GL_STENCIL_BACK_FAIL" value="0x8801"/>
		<token name="GL_STENCIL_BACK_PASS_DEPTH_FAIL" value="0x8802"/>
		<token name="GL_STENCIL_BACK_PASS_DEPTH_PASS" value="0x8803"/>
		<token name="GL_MAX_DRAW_BUFFERS" value="0x8824"/>
		<token name="GL_DRAW_BUFFER0" value="0x8825"/>
		<token name="GL_DRAW_BUFFER1" value="0x8826"/>
		<token name="GL_DRAW_BUFFER2" value="0x8827"/>
		<token name="GL_DRAW_BUFFER3" value="0x8828"/>
		<token name="GL_DRAW_BUFFER4" value="0x8829"/>
		<token name="GL_DRAW_BUFFER5" value="0x882A"/>
		<token name="GL_DRAW_BUFFER6" value="0x882B"/>
		<token name="GL_DRAW_BUFFER7" value="0x882C"/>
		<token name="GL_DRAW_BUFFER8" value="0x882D"/>
		<token name="GL_DRAW_BUFFER9" value="0x882E"/>
		<token name="GL_DRAW_BUFFER10" value="0x882F"/>
		<token name="GL_DRAW_BUFFER11" value="0x8830"/>
		<token name="GL_DRAW_BUFFER12" value="0x8831"/>
		<token name="GL_DRAW_BUFFER13" value="0x8832"/>
		<token name="GL_DRAW_BUFFER14" value="0x8833"/>
		<token name="GL_DRAW_BUFFER15" value="0x8834"/>
		<token name="GL_BLEND_EQUATION_ALPHA" value="0x883D"/>
		<token name="GL_MAX_VERTEX_ATTRIBS" value="0x8869"/>
		<token name="GL_VERTEX_ATTRIB_ARRAY_NORMALIZED" value="0x886A"/>
		<token name="GL_MAX_TEXTURE_IMAGE_UNITS" value="0x8872"/>
		<token name="GL_FRAGMENT_SHADER" value="0x8B30"/>
		<token name="GL_VERTEX_SHADER" value="0x8B31"/>
		<token name="GL_MAX_FRAGMENT_UNIFORM_COMPONENTS" value="0x8B49"/>
		<token name="GL_MAX_VERTEX_UNIFORM_COMPONENTS" value="0x8B4A"/>
		<token name="GL_MAX_VARYING_FLOATS" value="0x8B4B"/>
		<token name="GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS" value="0x8B4C"/>
		<token name="GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS" value="0x8B4D"/>
		<token name="GL_SHADER_TYPE" value="0x8B4F"/>
		<token name="GL_FLOAT_VEC2" value="0x8B50"/>
		<token name="GL_FLOAT_VEC3" value="0x8B51"/>
		<token name="GL_FLOAT_VEC4" value="0x8B52"/>
		<token name="GL_INT_VEC2" value="0x8B53"/>
		<token name="GL_INT_VEC3" value="0x8B54"/>
		<token name="GL_INT_VEC4" value="0x8B55"/>
		<token name="GL_BOOL" value="0x8B56"/>
		<token name="GL_BOOL_VEC2" value="0x8B57"/>
		<token name="GL_BOOL_VEC3" value="0x8B58"/>
		<token name="GL_BOOL_VEC4" value="0x8B59"/>
		<token name="GL_FLOAT_MAT2" value="0x8B5A"/>
		<token name="GL_FLOAT_MAT3" value="0x8B5B"/>
		<token name="GL_FLOAT_MAT4" value="0x8B5C"/>
		<token name="GL_SAMPLER_1D" value="0x8B5D"/>
		<token name="GL_SAMPLER_2D" value="0x8B5E"/>
		<token name="GL_SAMPLER_3D" value="0x8B5F"/>
		<token name="GL_SAMPLER_CUBE" value="0x8B60"/>
		<token name="GL_SAMPLER_1D_SHADOW" value="0x8B61"/>
		<token name="GL_SAMPLER_2D_SHADOW" value="0x8B62"/>
		<token name="GL_DELETE_STATUS" value="0x8B80"/>
		<token name="GL_COMPILE_STATUS" value="0x8B81"/>
		<token name="GL_LINK_STATUS" value="0x8B82"/>
		<token name="GL_VALIDATE_STATUS" value="0x8B83"/>
		<token name="GL_INFO_LOG_LENGTH" value="0x8B84"/>
		<token name="GL_ATTACHED_SHADERS" value="0x8B85"/>
		<token name="GL_ACTIVE_UNIFORMS" value="0x8B86"/>
		<token name="GL_ACTIVE_UNIFORM_MAX_LENGTH" value="0x8B87"/>
		<token name="GL_SHADER_SOURCE_LENGTH" value="0x8B88"/>
		<token name="GL_ACTIVE_ATTRIBUTES" value="0x8B89"/>
		<token name="GL_ACTIVE_ATTRIBUTE_MAX_LENGTH" value="0x8B8A"/>
		<token name="GL_FRAGMENT_SHADER_DERIVATIVE_HINT" value="0x8B8B"/>
		<token name="GL_SHADING_LANGUAGE_VERSION" value="0x8B8C"/>
		<token name="GL_CURRENT_PROGRAM" value="0x8B8D"/>
		<token name="GL_POINT_SPRITE_COORD_ORIGIN" value="0x8CA0"/>
		<token name="GL_LOWER_LEFT" value="0x8CA1"/>
		<token name="GL_UPPER_LEFT" value="0x8CA2"/>
		<token name="GL_STENCIL_BACK_REF" value="0x8CA3"/>
		<token name="GL_STENCIL_BACK_VALUE_MASK" value="0x8CA4"/>
		<token name="GL_STENCIL_BACK_WRITEMASK" value="0x8CA5"/>
		<token name="GL_VERTEX_PROGRAM_TWO_SIDE" value="0x8643"/>
		<token name="GL_POINT_SPRITE" value="0x8861"/>
		<token name="GL_COORD_REPLACE" value="0x8862"/>
		<token name="GL_MAX_TEXTURE_COORDS" value="0x8871"/>
	</tokens>

	<functions>
		<function name="glBlendEquationSeparate" return="void">
			<params>
				<param type="GLenum" name="modeRGB"/>
				<param type="GLenum" name="modeAlpha"/>
			</params>
			<mappings>
				<mapping from="GL_EXT_blend_equation_separate" name="glBlendEquationSeparateEXT"/>
			</mappings>
		</function>
		<function name="glDrawBuffers" return="void">
			<params>
				<param type="GLsizei" name="n"/>
				<param type="const GLenum*" name="bufs"/>
			</params>
			<mappings>
				<mapping from="GL_ARB_draw_buffers" name="glDrawBuffersARB"/>
				<mapping from="GL_ATI_draw_buffers" name="glDrawBuffersATI"/>
			</mappings>
		</function>
		<function name="glStencilOpSeparate" return="void">
			<params>
				<param type="GLenum" name="face"/>
				<param type="GLenum" name="sfail"/>
				<param type="GLenum" name="dpfail"/>
				<param type="GLenum" name="dppass"/>
			</params>
			<mappings>
				<mapping from="GL_ATI_separate_stencil" name="glStencilOpSeparateATI"/>
			</mappings>
		</function>
		<function name="glStencilFuncSeparate" return="void">
			<params>
				<param type="GLenum" name="face"/>
				<param type="GLenum" name="func"/>
				<param type="GLint" name="ref"/>
				<param type="GLuint" name="mask"/>
			</params>
			<mappings>
				<mapping from="GL_ATI_separate_stencil" name="glStencilFuncSeparateATI"/>
			</mappings>
		</function>
		<function name="glStencilMaskSeparate" return="void">
			<params>
				<param type="GLenum" name="face"/>
				<param type="GLuint" name="mask"/>
			</params>
		</function>
		<function name="glAttachShader" return="void">
			<params>
				<param type="GLuint" name="program"/>
				<param type="GLuint" name="shader"/>
			</params>
			<mappings>
				<mapping from="GL_ARB_shader_objects" name="glAttachObjectARB"/>
			</mappings>
		</function>
		<function name="glBindAttribLocation" return="void">
			<params>
				<param type="GLuint" name="program"/>
				<param type="GLuint" name="index"/>
				<param type="const GLchar*" name="name"/>
			</params>
			<mappings>
				<mapping from="GL_ARB_vertex_shader" name="glBindAttribLocationARB"/>
			</mappings>
		</function>
		<function name="glCompileShader" return="void">
			<params>
				<param type="GLuint" name="shader"/>
			</params>
			<mappings>
				<mapping from="GL_ARB_shader_objects" name="glCompileShaderARB"/>
			</mappings>
		</function>
		<function name="glCreateProgram" return="GLuint">
			<mappings>
				<mapping from="GL_ARB_shader_objects" name="glCreateProgramObjectARB"/>
			</mappings>
		</function>
		<function name="glCreateShader" return="GLuint">
			<params>
				<param type="GLenum" name="type"/>
			</params>
			<mappings>
				<mapping from="GL_ARB_shader_objects" name="glCreateShaderObjectARB"/>
			</mappings>
		</function>
		<function name="glDeleteProgram" return="void">
			<params>
				<param type="GLuint" name="program"/>
			</params>
		</function>
		<function name="glDeleteShader" return="void">
			<params>
				<param type="GLuint" name="shader"/>
			</params>
		</function>
		<function name="glDetachShader" return="void">
			<params>
				<param type="GLuint" name="program"/>
				<param type="GLuint" name="shader"/>
			</params>
			<mappings>
				<mapping from="GL_ARB_shader_objects" name="glDetachObjectARB"/>
			</mappings>
		</function>
		<function name="glDisableVertexAttribArray" return="void">
			<params>
				<param type="GLuint" name="index"/>
			</params>
			<mappings>
				<mapping from="GL_ARB_vertex_program" name="glDisableVertexAttribArrayARB"/>
			</mappings>
		</function>
		<function name="glEnableVertexAttribArray" return="void">
			<params>
				<param type="GLuint" name="index"/>
			</params>
			<mappings>
				<mapping from="GL_ARB_vertex_program" name="glEnableVertexAttribArrayARB"/>
			</mappings>
		</function>
		<function name="glGetActiveAttrib" return="void">
			<params>
				<param type="GLuint" name="program"/>
				<param type="GLuint" name="index"/>
				<param type="GLsizei" name="bufSize"/>
				<param type="GLsizei*" name="length"/>
				<param type="GLint*" name="size"/>
				<param type="GLenum*" name="type"/>
				<param type="GLchar*" name="name"/>
			</params>
			<mappings>
				<mapping from="GL_ARB_vertex_shader" name="glGetActiveAttribARB"/>
			</mappings>
		</function>
		<function name="glGetActiveUniform" return="void">
			<params>
				<param type="GLuint" name="program"/>
				<param type="GLuint" name="index"/>
				<param type="GLsizei" name="bufSize"/>
				<param type="GLsizei*" name="length"/>
				<param type="GLint*" name="size"/>
				<param type="GLenum*" name="type"/>
				<param type="GLchar*" name="name"/>
			</params>
			<mappings>
				<mapping from="GL_ARB_shader_objects" name="glGetActiveUniformARB"/>
			</mappings>
		</function>
		<function name="glGetAttachedShaders" return="void">
			<params>
				<param type="GLuint" name="program"/>
				<param type="GLsizei" name="maxCount"/>
				<param type="GLsizei*" name="count"/>
				<param type="GLuint*" name="obj"/>
			</params>
			<mappings>
				<mapping from="GL_ARB_shader_objects" name="glGetAttachedObjectsARB"/>
			</mappings>
		</function>
		<function name="glGetAttribLocation" return="GLint">
			<params>
				<param type="GLuint" name="program"/>
				<param type="const GLchar*" name="name"/>
			</params>
			<mappings>
				<mapping from="GL_ARB_vertex_shader" name="glGetAttribLocationARB"/>
			</mappings>
		</function>
		<function name="glGetProgramiv" return="void">
			<params>
				<param type="GLuint" name="program"/>
				<param type="GLenum" name="pname"/>
				<param type="GLint*" name="params"/>
			</params>
		</function>
		<function name="glGetProgramInfoLog" return="void">
			<params>
				<param type="GLuint" name="program"/>
				<param type="GLsizei" name="bufSize"/>
				<param type="GLsizei*" name="length"/>
				<param type="GLchar*" name="infoLog"/>
			</params>
		</function>
		<function name="glGetShaderiv" return="void">
			<params>
				<param type="GLuint" name="shader"/>
				<param type="GLenum" name="pname"/>
				<param type="GLint*" name="params"/>
			</params>
		</function>
		<function name="glGetShaderInfoLog" return="void">
			<params>
				<param type="GLuint" name="shader"/>
				<param type="GLsizei" name="bufSize"/>
				<param type="GLsizei*" name="length"/>
				<param type="GLchar*" name="infoLog"/>
			</params>
		</function>
		<function name="glGetShaderSource" return="void">
			<params>
				<param type="GLuint" name="shader"/>
				<param type="GLsizei" name="bufSize"/>
				<param type="GLsizei*" name="length"/>
				<param type="GLchar*" name="source"/>
			</params>
			<mappings>
				<mapping from="GL_ARB_shader_objects" name="glGetShaderSourceARB"/>
			</mappings>
		</function>
		<function name="glGetUniformLocation" return="GLint">
			<params>
				<param type="GLuint" name="program"/>
				<param type="const GLchar*" name="name"/>
			</params>
			<mappings>
				<mapping from="GL_ARB_shader_objects" name="glGetUniformLocationARB"/>
			</mappings>
		</function>
		<function name="glGetUniformfv" return="void">
			<params>
				<param type="GLuint" name="program"/>
				<param type="GLint" name="location"/>
				<param type="GLfloat*" name="params"/>
			</params>
			<mappings>
				<mapping from="GL_ARB_shader_objects" name="glGetUniformfvARB"/>
			</mappings>
		</function>
		<function name="glGetUniformiv" return="void">
			<params>
				<param type="GLuint" name="program"/>
				<param type="GLint" name="location"/>
				<param type="GLint*" name="params"/>
			</params>
			<mappings>
				<mapping from="GL_ARB_shader_objects" name="glGetUniformivARB"/>
			</mappings>
		</function>
		<function name="glGetVertexAttribdv" return="void">
			<params>
				<param type="GLuint" name="index"/>
				<param type="GLenum" name="pname"/>
				<param type="GLdouble*" name="params"/>
			</params>
			<mappings>
				<mapping from="GL_ARB_vertex_program" name="glGetVertexAttribdvARB"/>
				<mapping from="GL_NV_vertex_program" name="glGetVertexAttribdvNV"/>
			</mappings>
		</function>
		<function name="glGetVertexAttribfv" return="void">
			<params>
				<param type="GLuint" name="index"/>
				<param type="GLenum" name="pname"/>
				<param type="GLfloat*" name="params"/>
			</params>
			<mappings>
				<mapping from="GL_ARB_vertex_program" name="glGetVertexAttribfvARB"/>
				<mapping from="GL_NV_vertex_program" name="glGetVertexAttribfvNV"/>
			</mappings>
		</function>
		<function name="glGetVertexAttribiv" return="void">
			<params>
				<param type="GLuint" name="index"/>
				<param type="GLenum" name="pname"/>
				<param type="GLint*" name="params"/>
			</params>
			<mappings>
				<mapping from="GL_ARB_vertex_program" name="glGetVertexAttribivARB"/>
				<mapping from="GL_NV_vertex_program" name="glGetVertexAttribivNV"/>
			</mappings>
		</function>
		<function name="glGetVertexAttribPointerv" return="void">
			<params>
				<param type="GLuint" name="index"/>
				<param type="GLenum" name="pname"/>
				<param type="GLvoid**" name="pointer"/>
			</params>
			<mappings>
				<mapping from="GL_ARB_vertex_program" name="glGetVertexAttribPointervARB"/>
				<mapping from="GL_NV_vertex_program" name="glGetVertexAttribPointervNV"/>
			</mappings>
		</function>
		<function name="glIsProgram" return="GLboolean">
			<params>
				<param type="GLuint" name="program"/>
			</params>
			<mappings>
				<mapping from="GL_ARB_vertex_program" name="glIsProgramARB"/>
				<mapping from="GL_NV_vertex_program" name="glIsProgramNV"/>
			</mappings>
		</function>
		<function name="glIsShader" return="GLboolean">
			<params>
				<param type="GLuint" name="shader"/>
			</params>
		</function>
		<function name="glLinkProgram" return="void">
			<params>
				<param type="GLuint" name="program"/>
			</params>
			<mappings>
				<mapping from="GL_ARB_shader_objects" name="glLinkProgramARB"/>
			</mappings>
		</function>
		<function name="glShaderSource" return="void">
			<params>
				<param type="GLuint" name="shader"/>
				<param type="GLsizei" name="count"/>
				<param type="const GLchar**" name="string"/>
				<param type="const GLint*" name="length"/>
			</params>
			<mappings>
				<mapping from="GL_ARB_shader_objects" name="glShaderSourceARB"/>
			</mappings>
		</function>
		<function name="glUseProgram" return="void">
			<params>
				<param type="GLuint" name="program"/>
			</params>
			<mappings>
				<mapping from="GL_ARB_shader_objects" name="glUseProgramObjectARB"/>
			</mappings>
		</function>
		<function name="glUniform1f" return="void">
			<params>
				<param type="GLint" name="location"/>
				<param type="GLfloat" name="v0"/>
			</params>
			<mappings>
				<mapping from="GL_ARB_shader_objects" name="glUniform1fARB"/>
			</mappings>
		</function>
		<function name="glUniform2f" return="void">
			<params>
				<param type="GLint" name="location"/>
				<param type="GLfloat" name="v0"/>
				<param type="GLfloat" name="v1"/>
			</params>
			<mappings>
				<mapping from="GL_ARB_shader_objects" name="glUniform2fARB"/>
			</mappings>
		</function>
		<function name="glUniform3f" return="void">
			<params>
				<param type="GLint" name="location"/>
				<param type="GLfloat" name="v0"/>
				<param type="GLfloat" name="v1"/>
				<param type="GLfloat" name="v2"/>
			</params>
			<mappings>
				<mapping from="GL_ARB_shader_objects" name="glUniform3fARB"/>
			</mappings>
		</function>
		<function name="glUniform4f" return="void">
			<params>
				<param type="GLint" name="location"/>
				<param type="GLfloat" name="v0"/>
				<param type="GLfloat" name="v1"/>
				<param type="GLfloat" name="v2"/>
				<param type="GLfloat" name="v3"/>
			</params>
			<mappings>
				<mapping from="GL_ARB_shader_objects" name="glUniform4fARB"/>
			</mappings>
		</function>
		<function name="glUniform1i" return="void">
			<params>
				<param type="GLint" name="location"/>
				<param type="GLint" name="v0"/>
			</params>
			<mappings>
				<mapping from="GL_ARB_shader_objects" name="glUniform1iARB"/>
			</mappings>
		</function>
		<function name="glUniform2i" return="void">
			<params>
				<param type="GLint" name="location"/>
				<param type="GLint" name="v0"/>
				<param type="GLint" name="v1"/>
			</params>
			<mappings>
				<mapping from="GL_ARB_shader_objects" name="glUniform2iARB"/>
			</mappings>
		</function>
		<function name="glUniform3i" return="void">
			<params>
				<param type="GLint" name="location"/>
				<param type="GLint" name="v0"/>
				<param type="GLint" name="v1"/>
				<param type="GLint" name="v2"/>
			</params>
			<mappings>
				<mapping from="GL_ARB_shader_objects" name="glUniform3iARB"/>
			</mappings>
		</function>
		<function name="glUniform4i" return="void">
			<params>
				<param type="GLint" name="location"/>
				<param type="GLint" name="v0"/>
				<param type="GLint" name="v1"/>
				<param type="GLint" name="v2"/>
				<param type="GLint" name="v3"/>
			</params>
			<mappings>
				<mapping from="GL_ARB_shader_objects" name="glUniform4iARB"/>
			</mappings>
		</function>
		<function name="glUniform1fv" return="void">
			<params>
				<param type="GLint" name="location"/>
				<param type="GLsizei" name="count"/>
				<param type="const GLfloat*" name="value"/>
			</params>
			<mappings>
				<mapping from="GL_ARB_shader_objects" name="glUniform1fvARB"/>
			</mappings>
		</function>
		<function name="glUniform2fv" return="void">
			<params>
				<param type="GLint" name="location"/>
				<param type="GLsizei" name="count"/>
				<param type="const GLfloat*" name="value"/>
			</params>
			<mappings>
				<mapping from="GL_ARB_shader_objects" name="glUniform2fvARB"/>
			</mappings>
		</function>
		<function name="glUniform3fv" return="void">
			<params>
				<param type="GLint" name="location"/>
				<param type="GLsizei" name="count"/>
				<param type="const GLfloat*" name="value"/>
			</params>
			<mappings>
				<mapping from="GL_ARB_shader_objects" name="glUniform3fvARB"/>
			</mappings>
		</function>
		<function name="glUniform4fv" return="void">
			<params>
				<param type="GLint" name="location"/>
				<param type="GLsizei" name="count"/>
				<param type="const GLfloat*" name="value"/>
			</params>
			<mappings>
				<mapping from="GL_ARB_shader_objects" name="glUniform4fvARB"/>
			</mappings>
		</function>
		<function name="glUniform1iv" return="void">
			<params>
				<param type="GLint" name="location"/>
				<param type="GLsizei" name="count"/>
				<param type="const GLint*" name="value"/>
			</params>
			<mappings>
				<mapping from="GL_ARB_shader_objects" name="glUniform1ivARB"/>
			</mappings>
		</function>
		<function name="glUniform2iv" return="void">
			<params>
				<param type="GLint" name="location"/>
				<param type="GLsizei" name="count"/>
				<param type="const GLint*" name="value"/>
			</params>
			<mappings>
				<mapping from="GL_ARB_shader_objects" name="glUniform2ivARB"/>
			</mappings>
		</function>
		<function name="glUniform3iv" return="void">
			<params>
				<param type="GLint" name="location"/>
				<param type="GLsizei" name="count"/>
				<param type="const GLint*" name="value"/>
			</params>
			<mappings>
				<mapping from="GL_ARB_shader_objects" name="glUniform3ivARB"/>
			</mappings>
		</function>
		<function name="glUniform4iv" return="void">
			<params>
				<param type="GLint" name="location"/>
				<param type="GLsizei" name="count"/>
				<param type="const GLint*" name="value"/>
			</params>
			<mappings>
				<mapping from="GL_ARB_shader_objects" name="glUniform4ivARB"/>
			</mappings>
		</function>
		<function name="glUniformMatrix2fv" return="void">
			<params>
				<param type="GLint" name="location"/>
				<param type="GLsizei" name="count"/>
				<param type="GLboolean" name="transpose"/>
				<param type="const GLfloat*" name="value"/>
			</params>
			<mappings>
				<mapping from="GL_ARB_shader_objects" name="glUniformMatrix2fvARB"/>
			</mappings>
		</function>
		<function name="glUniformMatrix3fv" return="void">
			<params>
				<param type="GLint" name="location"/>
				<param type="GLsizei" name="count"/>
				<param type="GLboolean" name="transpose"/>
				<param type="const GLfloat*" name="value"/>
			</params>
			<mappings>
				<mapping from="GL_ARB_shader_objects" name="glUniformMatrix3fvARB"/>
			</mappings>
		</function>
		<function name="glUniformMatrix4fv" return="void">
			<params>
				<param type="GLint" name="location"/>
				<param type="GLsizei" name="count"/>
				<param type="GLboolean" name="transpose"/>
				<param type="const GLfloat*" name="value"/>
			</params>
			<mappings>
				<mapping from="GL_ARB_shader_objects" name="glUniformMatrix4fvARB"/>
			</mappings>
		</function>
		<function name="glValidateProgram" return="void">
			<params>
				<param type="GLuint" name="program"/>
			</params>
			<mappings>
				<mapping from="GL_ARB_shader_objects" name="glValidateProgramARB"/>
			</mappings>
		</function>
		<function name="glVertexAttrib1d" return="void">
			<params>
				<param type="GLuint" name="index"/>
				<param type="GLdouble" name="x"/>
			</params>
			<mappings>
				<mapping from="GL_ARB_vertex_program" name="glVertexAttrib1dARB"/>
				<mapping from="GL_NV_vertex_program" name="glVertexAttrib1dNV"/>
			</mappings>
		</function>
		<function name="glVertexAttrib1dv" return="void">
			<params>
				<param type="GLuint" name="index"/>
				<param type="const GLdouble*" name="v"/>
			</params>
			<mappings>
				<mapping from="GL_ARB_vertex_program" name="glVertexAttrib1dvARB"/>
				<mapping from="GL_NV_vertex_program" name="glVertexAttrib1dvNV"/>
			</mappings>
		</function>
		<function name="glVertexAttrib1f" return="void">
			<params>
				<param type="GLuint" name="index"/>
				<param type="GLfloat" name="x"/>
			</params>
			<mappings>
				<mapping from="GL_ARB_vertex_program" name="glVertexAttrib1fARB"/>
				<mapping from="GL_NV_vertex_program" name="glVertexAttrib1fNV"/>
			</mappings>
		</function>
		<function name="glVertexAttrib1fv" return="void">
			<params>
				<param type="GLuint" name="index"/>
				<param type="const GLfloat*" name="v"/>
			</params>
			<mappings>
				<mapping from="GL_ARB_vertex_program" name="glVertexAttrib1fvARB"/>
				<mapping from="GL_NV_vertex_program" name="glVertexAttrib1fvNV"/>
			</mappings>
		</function>
		<function name="glVertexAttrib1s" return="void">
			<params>
				<param type="GLuint" name="index"/>
				<param type="GLshort" name="x"/>
			</params>
			<mappings>
				<mapping from="GL_ARB_vertex_program" name="glVertexAttrib1sARB"/>
				<mapping from="GL_NV_vertex_program" name="glVertexAttrib1sNV"/>
			</mappings>
		</function>
		<function name="glVertexAttrib1sv" return="void">
			<params>
				<param type="GLuint" name="index"/>
				<param type="const GLshort*" name="v"/>
			</params>
			<mappings>
				<mapping from="GL_ARB_vertex_program" name="glVertexAttrib1svARB"/>
				<mapping from="GL_NV_vertex_program" name="glVertexAttrib1svNV"/>
			</mappings>
		</function>
		<function name="glVertexAttrib2d" return="void">
			<params>
				<param type="GLuint" name="index"/>
				<param type="GLdouble" name="x"/>
				<param type="GLdouble" name="y"/>
			</params>
			<mappings>
				<mapping from="GL_ARB_vertex_program" name="glVertexAttrib2dARB"/>
				<mapping from="GL_NV_vertex_program" name="glVertexAttrib2dNV"/>
			</mappings>
		</function>
		<function name="glVertexAttrib2dv" return="void">
			<params>
				<param type="GLuint" name="index"/>
				<param type="const GLdouble*" name="v"/>
			</params>
			<mappings>
				<mapping from="GL_ARB_vertex_program" name="glVertexAttrib2dvARB"/>
				<mapping from="GL_NV_vertex_program" name="glVertexAttrib2dvNV"/>
			</mappings>
		</function>
		<function name="glVertexAttrib2f" return="void">
			<params>
				<param type="GLuint" name="index"/>
				<param type="GLfloat" name="x"/>
				<param type="GLfloat" name="y"/>
			</params>
			<mappings>
				<mapping from="GL_ARB_vertex_program" name="glVertexAttrib2fARB"/>
				<mapping from="GL_NV_vertex_program" name="glVertexAttrib2fNV"/>
			</mappings>
		</function>
		<function name="glVertexAttrib2fv" return="void">
			<params>
				<param type="GLuint" name="index"/>
				<param type="const GLfloat*" name="v"/>
			</params>
			<mappings>
				<mapping from="GL_ARB_vertex_program" name="glVertexAttrib2fvARB"/>
				<mapping from="GL_NV_vertex_program" name="glVertexAttrib2fvNV"/>
			</mappings>
		</function>
		<function name="glVertexAttrib2s" return="void">
			<params>
				<param type="GLuint" name="index"/>
				<param type="GLshort" name="x"/>
				<param type="GLshort" name="y"/>
			</params>
			<mappings>
				<mapping from="GL_ARB_vertex_program" name="glVertexAttrib2sARB"/>
				<mapping from="GL_NV_vertex_program" name="glVertexAttrib2sNV"/>
			</mappings>
		</function>
		<function name="glVertexAttrib2sv" return="void">
			<params>
				<param type="GLuint" name="index"/>
				<param type="const GLshort*" name="v"/>
			</params>
			<mappings>
				<mapping from="GL_ARB_vertex_program" name="glVertexAttrib2svARB"/>
				<mapping from="GL_NV_vertex_program" name="glVertexAttrib2svNV"/>
			</mappings>
		</function>
		<function name="glVertexAttrib3d" return="void">
			<params>
				<param type="GLuint" name="index"/>
				<param type="GLdouble" name="x"/>
				<param type="GLdouble" name="y"/>
				<param type="GLdouble" name="z"/>
			</params>
			<mappings>
				<mapping from="GL_ARB_vertex_program" name="glVertexAttrib3dARB"/>
				<mapping from="GL_NV_vertex_program" name="glVertexAttrib3dNV"/>
			</mappings>
		</function>
		<function name="glVertexAttrib3dv" return="void">
			<params>
				<param type="GLuint" name="index"/>
				<param type="const GLdouble*" name="v"/>
			</params>
			<mappings>
				<mapping from="GL_ARB_vertex_program" name="glVertexAttrib3dvARB"/>
				<mapping from="GL_NV_vertex_program" name="glVertexAttrib3dvNV"/>
			</mappings>
		</function>
		<function name="glVertexAttrib3f" return="void">
			<params>
				<param type="GLuint" name="index"/>
				<param type="GLfloat" name="x"/>
				<param type="GLfloat" name="y"/>
				<param type="GLfloat" name="z"/>
			</params>
			<mappings>
				<mapping from="GL_ARB_vertex_program" name="glVertexAttrib3fARB"/>
				<mapping from="GL_NV_vertex_program" name="glVertexAttrib3fNV"/>
			</mappings>
		</function>
		<function name="glVertexAttrib3fv" return="void">
			<params>
				<param type="GLuint" name="index"/>
				<param type="const GLfloat*" name="v"/>
			</params>
			<mappings>
				<mapping from="GL_ARB_vertex_program" name="glVertexAttrib3fvARB"/>
				<mapping from="GL_NV_vertex_program" name="glVertexAttrib3fvNV"/>
			</mappings>
		</function>
		<function name="glVertexAttrib3s" return="void">
			<params>
				<param type="GLuint" name="index"/>
				<param type="GLshort" name="x"/>
				<param type="GLshort" name="y"/>
				<param type="GLshort" name="z"/>
			</params>
			<mappings>
				<mapping from="GL_ARB_vertex_program" name="glVertexAttrib3sARB"/>
				<mapping from="GL_NV_vertex_program" name="glVertexAttrib3sNV"/>
			</mappings>
		</function>
		<function name="glVertexAttrib3sv" return="void">
			<params>
				<param type="GLuint" name="index"/>
				<param type="const GLshort*" name="v"/>
			</params>
			<mappings>
				<mapping from="GL_ARB_vertex_program" name="glVertexAttrib3svARB"/>
				<mapping from="GL_NV_vertex_program" name="glVertexAttrib3svNV"/>
			</mappings>
		</function>
		<function name="glVertexAttrib4Nbv" return="void">
			<params>
				<param type="GLuint" name="index"/>
				<param type="const GLbyte*" name="v"/>
			</params>
			<mappings>
				<mapping from="GL_ARB_vertex_program" name="glVertexAttrib4NbvARB"/>
			</mappings>
		</function>
		<function name="glVertexAttrib4Niv" return="void">
			<params>
				<param type="GLuint" name="index"/>
				<param type="const GLint*" name="v"/>
			</params>
			<mappings>
				<mapping from="GL_ARB_vertex_program" name="glVertexAttrib4NivARB"/>
			</mappings>
		</function>
		<function name="glVertexAttrib4Nsv" return="void">
			<params>
				<param type="GLuint" name="index"/>
				<param type="const GLshort*" name="v"/>
			</params>
			<mappings>
				<mapping from="GL_ARB_vertex_program" name="glVertexAttrib4NsvARB"/>
			</mappings>
		</function>
		<function name="glVertexAttrib4Nub" return="void">
			<params>
				<param type="GLuint" name="index"/>
				<param type="GLubyte" name="x"/>
				<param type="GLubyte" name="y"/>
				<param type="GLubyte" name="z"/>
				<param type="GLubyte" name="w"/>
			</params>
			<mappings>
				<mapping from="GL_ARB_vertex_program" name="glVertexAttrib4NubARB"/>
				<mapping from="GL_NV_vertex_program" name="glVertexAttrib4ubNV"/>
			</mappings>
		</function>
		<function name="glVertexAttrib4Nubv" return="void">
			<params>
				<param type="GLuint" name="index"/>
				<param type="const GLubyte*" name="v"/>
			</params>
			<mappings>
				<mapping from="GL_ARB_vertex_program" name="glVertexAttrib4NubvARB"/>
				<mapping from="GL_NV_vertex_program" name="glVertexAttrib4ubvNV"/>
			</mappings>
		</function>
		<function name="glVertexAttrib4Nuiv" return="void">
			<params>
				<param type="GLuint" name="index"/>
				<param type="const GLuint*" name="v"/>
			</params>
			<mappings>
				<mapping from="GL_ARB_vertex_program" name="glVertexAttrib4NuivARB"/>
			</mappings>
		</function>
		<function name="glVertexAttrib4Nusv" return="void">
			<params>
				<param type="GLuint" name="index"/>
				<param type="const GLushort*" name="v"/>
			</params>
			<mappings>
				<mapping from="GL_ARB_vertex_program" name="glVertexAttrib4NusvARB"/>
			</mappings>
		</function>
		<function name="glVertexAttrib4bv" return="void">
			<params>
				<param type="GLuint" name="index"/>
				<param type="const GLbyte*" name="v"/>
			</params>
			<mappings>
				<mapping from="GL_ARB_vertex_program" name="glVertexAttrib4bvARB"/>
			</mappings>
		</function>
		<function name="glVertexAttrib4d" return="void">
			<params>
				<param type="GLuint" name="index"/>
				<param type="GLdouble" name="x"/>
				<param type="GLdouble" name="y"/>
				<param type="GLdouble" name="z"/>
				<param type="GLdouble" name="w"/>
			</params>
			<mappings>
				<mapping from="GL_ARB_vertex_program" name="glVertexAttrib4dARB"/>
				<mapping from="GL_NV_vertex_program" name="glVertexAttrib4dNV"/>
			</mappings>
		</function>
		<function name="glVertexAttrib4dv" return="void">
			<params>
				<param type="GLuint" name="index"/>
				<param type="const GLdouble*" name="v"/>
			</params>
			<mappings>
				<mapping from="GL_ARB_vertex_program" name="glVertexAttrib4dvARB"/>
				<mapping from="GL_NV_vertex_program" name="glVertexAttrib4dvNV"/>
			</mappings>
		</function>
		<function name="glVertexAttrib4f" return="void">
			<params>
				<param type="GLuint" name="index"/>
				<param type="GLfloat" name="x"/>
				<param type="GLfloat" name="y"/>
				<param type="GLfloat" name="z"/>
				<param type="GLfloat" name="w"/>
			</params>
			<mappings>
				<mapping from="GL_ARB_vertex_program" name="glVertexAttrib4fARB"/>
				<mapping from="GL_NV_vertex_program" name="glVertexAttrib4fNV"/>
			</mappings>
		</function>
		<function name="glVertexAttrib4fv" return="void">
			<params>
				<param type="GLuint" name="index"/>
				<param type="const GLfloat*" name="v"/>
			</params>
			<mappings>
				<mapping from="GL_ARB_vertex_program" name="glVertexAttrib4fvARB"/>
				<mapping from="GL_NV_vertex_program" name="glVertexAttrib4fvNV"/>
			</mappings>
		</function>
		<function name="glVertexAttrib4iv" return="void">
			<params>
				<param type="GLuint" name="index"/>
				<param type="const GLint*" name="v"/>
			</params>
			<mappings>
				<mapping from="GL_ARB_vertex_program" name="glVertexAttrib4ivARB"/>
			</mappings>
		</function>
		<function name="glVertexAttrib4s" return="void">
			<params>
				<param type="GLuint" name="index"/>
				<param type="GLshort" name="x"/>
				<param type="GLshort" name="y"/>
				<param type="GLshort" name="z"/>
				<param type="GLshort" name="w"/>
			</params>
			<mappings>
				<mapping from="GL_ARB_vertex_program" name="glVertexAttrib4sARB"/>
				<mapping from="GL_NV_vertex_program" name="glVertexAttrib4sNV"/>
			</mappings>
		</function>
		<function name="glVertexAttrib4sv" return="void">
			<params>
				<param type="GLuint" name="index"/>
				<param type="const GLshort*" name="v"/>
			</params>
			<mappings>
				<mapping from="GL_ARB_vertex_program" name="glVertexAttrib4svARB"/>
				<mapping from="GL_NV_vertex_program" name="glVertexAttrib4svNV"/>
			</mappings>
		</function>
		<function name="glVertexAttrib4ubv" return="void">
			<params>
				<param type="GLuint" name="index"/>
				<param type="const GLubyte*" name="v"/>
			</params>
			<mappings>
				<mapping from="GL_ARB_vertex_program" name="glVertexAttrib4ubvARB"/>
			</mappings>
		</function>
		<function name="glVertexAttrib4uiv" return="void">
			<params>
				<param type="GLuint" name="index"/>
				<param type="const GLuint*" name="v"/>
			</params>
			<mappings>
				<mapping from="GL_ARB_vertex_program" name="glVertexAttrib4uivARB"/>
			</mappings>
		</function>
		<function name="glVertexAttrib4usv" return="void">
			<params>
				<param type="GLuint" name="index"/>
				<param type="const GLushort*" name="v"/>
			</params>
			<mappings>
				<mapping from="GL_ARB_vertex_program" name="glVertexAttrib4usvARB"/>
			</mappings>
		</function>
		<function name="glVertexAttribPointer" return="void">
			<params>
				<param type="GLuint" name="index"/>
				<param type="GLint" name="size"/>
				<param type="GLenum" name="type"/>
				<param type="GLboolean" name="normalized"/>
				<param type="GLsizei" name="stride"/>
				<param type="const GLvoid*" name="pointer"/>
			</params>
			<mappings>
				<mapping from="GL_ARB_vertex_program" name="glVertexAttribPointerARB"/>
			</mappings>
		</function>
	</functions>

	<additionals>
		<ext name="GL_ARB_fragment_shader"/>
		<ext name="GL_ARB_shading_language_100"/>
		<ext name="GL_ARB_texture_non_power_of_two"/>
		<ext name="GL_ARB_point_sprite"/>
	</additionals>
</gl_extension>
